E π A π π ª π ÚÔÛÙ Û Î È AÛÊ ÏÂÈ ÛÙËÌ ÙˆÓ YappleÔÏÔÁÈÛÙÒÓ TfiÌÔ ' B Û ÏÂÈÔ ZÔÚÎ Ë KÚ appleùôáú Ê
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστηµών και Τεχνολογίας Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH Θεµατική Ενότητα ΠΡΟΣΤΑΣΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Τόµος Γ' Kρυπτογραφία Bασίλειος Zορκάδης ιδάκτωρ Πληροφορικής, Hλεκτρολόγος Mηχανικός Πανεπιστηµίου Aιγαίου ΠATPA 2002
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστηµών και Τεχνολογίας Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH Θεµατική Ενότητα ΠΡΟΣΤΑΣΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Τόµος Γ' ΚΡΥΠΤΟΓΡΑΦΙΑ Συγγραφή BAΣIΛEIOΣ ZOPKA HΣ ιδάκτωρ Πληροφορικής, Hλεκτρολόγος Mηχανικός Πανεπιστηµίου Aιγαίου Κριτική Ανάγνωση ΣΩΚΡΑΤΗΣ ΚΑΤΣΙΚΑΣ Kαθηγητής Tµήµατος Mαθηµατικών Πανεπιστηµίου Aιγαίου Ακαδηµαϊκός Υπεύθυνος για την επιστηµονική επιµέλεια του τόµου ΠΑΥΛΟΣ ΣΠΥΡΑΚΗΣ Kαθηγητής Tµήµατος Mηχανικών H/Y & Πληροφορικής Πανεπιστηµίου Πατρών Επιµέλεια στη µέθοδο της εκπαίδευσης από απόσταση AXIΛΛEAΣ KAMEAΣ Γλωσσική Επιµέλεια IΩANNHΣ ΓAΛANOΠOYΛOΣ Τεχνική Επιµέλεια TYPORAMA Καλλιτεχνική Επιµέλεια, Σελιδοποίηση TYPORAMA Συντονισµός ανάπτυξης εκπαιδευτικού υλικού και γενική επιµέλεια των εκδόσεων ΟΜΑ Α ΕΚΤΕΛΕΣΗΣ ΕΡΓΟΥ ΕΑΠ / 2002 ISBN: 960 538 390 X Kωδικός Έκδοσης: ΠΛH 35/3 Copyright 2000 για την Ελλάδα και όλο τον κόσµο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Οδός Παπαφλέσσα & Υψηλάντη, 26222 Πάτρα Τηλ: (061) 314094, 314206 Φαξ: (061) 317244 Σύµφωνα µε το Ν. 2121/1993, απαγορεύεται η συνολική ή αποσπασµατική αναδηµοσίευση του βιβλίου αυτού ή η αναπαραγωγή του µε οποιοδήποτε µέσο χωρίς την άδεια του εκδότη.
ÂÚÈ fiìâó K º π 1 EÈÛ ÁˆÁ ÛÙËÓ KÚ appleùôáú Ê Eισαγωγικές παρατηρήσεις... 11 1.1 Kρυπτογραφία και Kρυπτανάλυση... 13 1.1.1 Bασικοί όροι... 13 1.1.2 Kρυπτογραφικοί αλγόριθµοι... 13 1.1.3 Συµβολισµός... 14 1.2 Aναγκαιότητες της Kρυπτογραφίας... 15 1.2.1 Aπειλές και επιπτώσεις παραβίασης της ασφάλειας... 15 1.2.2 Bασικοί στόχοι ασφάλειας... 17 1.2.3 Mέσα προστασίας... 18 1.3 Eξέλιξη της Kρυπτογραφίας... 21 1.3.1 Έως τον 19ο αιώνα... 22 1.3.2 Aπό το 1900 έως τον B' Παγκόσµιο πόλεµο... 22 1.3.3 H εργασία του Shannon... 23 1.3.4 H νεότερη εποχή της Kρυπτογραφίας... 23 Σύνοψη... 25 Bιβλιογραφία... 26 K º π 2 KÏ ÛÈÎ KÚ appleùôáú Ê Eισαγωγικές παρατηρήσεις... 29 2.1 Στεγανογραφία... 31 2.2 Tεχνικές αντικατάστασης... 32 2.2.1 H µέθοδος του Kαίσαρα... 32
6 KƒÀ ƒ ºπ 2.2.2 Mονοαλφαβητική αντικατάσταση... 33 2.2.3 Πολυαλφαβητική αντικατάσταση... 37 2.2.4 Kωδικοποιητής του Vernam... 41 2.3 H τεχνική της µετάθεσης... 43 2.3.1 Aπλή και πολλαπλή µετάθεση... 44 2.3.2 O κωδικοποιητής Nihilist... 46 2.4 Kρυπτογραφικές συσκευές... 47 2.4.1 O κύλινδρος του Jefferson... 48 2.4.2 O δίσκος Wheatstone... 49 2.4.3 H µηχανή του Hagelin... 49 2.4.4 Mηχανές ρότορα... 49 2.5 Στατιστικές µέθοδοι κρυπτανάλυσης... 51 2.5.1 είκτης σύµπτωσης... 51 2.5.2 Έλεγχος του Kasiski... 54 Σύνοψη... 57 Bιβλιογραφία... 58 K º π 3 MaıËÌ ÙÈÎfi applefi ıúô Eισαγωγικές παρατηρήσεις... 59 3.1 Θεωρία της Πληροφορίας και Kρυπτογραφία... 61 3.1.1 Mέτρα πληροφορίας και ασφάλεια κρυπτογραφικών συστηµάτων... 61 3.1.2 Mοναδιαία απόσταση... 66 3.2 Θεωρία της πολυπλοκότητας και κρυπτογραφία... 69 3.2.1 Πολυπλοκότητα αλγόριθµων... 70 3.2.2 NP προβλήµατα και Kρυπτογραφία... 71 3.2.3 Aσφάλεια κρυπτογραφικών συστηµάτων... 73
EPIEXOMENA 7 3.3 Tύποι κρυπταναλυτικών επιθέσεων... 74 3.4 Aριθµοθεωρία Eισαγωγικές παρατηρήσεις... 79 3.4.1 Bασικές έννοιες και τεχνικές... 80 3.4.2 Σηµαντικά αποτελέσµατα... 85 3.4.3 Aνάλυση φυσικού αριθµού σε γινόµενο πρώτων... 89 3.4.4 ηµιουργία τυχαίων πρώτων αριθµών... 89 3.5 Kβαντική Kρυπτογραφία... 93 3.5.1 Tεχνική ανταλλαγής κλειδιών... 95 3.6 ηµιουργία (ψευδο ) τυχαίων ακολουθιών... 97 3.6.1 Πηγές τυχαίων ακολουθιών... 98 3.6.2 (Ψευδο ) τυχαίες ακολουθίες... 99 3.6.3 Γεννήτριες (ψευδο ) τυχαίων ακολουθιών... 100 3.7 Tο παράδοξο της ηµεροµηνίας γέννησης... 103 Σύνοψη... 104 Bιβλιογραφία... 107 K º π 4 ÌÌÂÙÚÈÎ ÛÙ Ì Ù KÚ appleùôáú Ê Eισαγωγικές παρατηρήσεις... 109 4.1 Data Encryption Standard (DES)... 111 4.1.1 Kρυπτογράφηση και αποκρυπτογράφηση... 112 4.1.2 Xαρακτηριστικά του DES... 122 4.1.3 Kρυπταναλυτικές µέθοδοι... 127 4.1.4 Tρόποι λειτουργίας του DES... 134 4.2 ιπλός και τριπλός DES... 142
8 KƒÀ ƒ ºπ 4.2.1 ιπλός DES (Double DES)... 142 4.2.2 Tριπλός DES (Triple DES)... 145 4.3 Kρυπτογραφικός αλγόριθµος IDEA... 149 4.3.1 Σχεδιαστικές αρχές... 149 4.3.2 Kρυπτογράφηση και αποκρυπτογράφηση... 151 4.3.3 Yπολογισµός των 52 υποκλειδιών... 153 4.3.4 Kρυπταναλυτικές προσπάθειες... 155 4.3.5 Tρόποι λειτουργίας του IDEA... 155 4.4 Advanced Encryption Standard (AES)... 156 4.4.1 Kριτήρια αξιολόγησης των υποψήφιων αλγορίθµων... 157 4.4.2 Rijndael Γενικά... 159 4.4.3 Mαθηµατικές βάσεις του αλγόριθµου Rijndael... 160 4.4.4 Rijndael Kρυπτογράφηση και αποκρυπτογράφηση... 163 4.4.5 Rijndael Yπολογισµός υποκλειδιών... 168 Σύνοψη... 171 Bιβλιογραφία... 174 K º π 5 AÛ ÌÌÂÙÚ ÛÙ Ì Ù KÚ appleùôáú Ê Eισαγωγικές παρατηρήσεις... 177 5.1 Aρχές ασύµµετρων κρυπτογραφικών συστηµάτων... 180 5.2 RSA... 183 5.2.1 Περιγραφή του RSA... 184 5.2.2 Yλοποίηση του RSA... 187 5.2.3 Kρυπταναλυτικές προσπάθειες... 188 5.3 Aσύµµετρος αλγόριθµος βασισµένος στο πρόβληµα του σακιδίου (Knapsack System)... 191
EPIEXOMENA 9 5.4 Kρυπτογράφικα συστήµατα βασησµένα στο πρόβληµα των διακριτών λογάριθµων... 195 5.4.1 Tο κρυπτογραφικό σύστηµα του Elgamal... 196 5.5 Συστήµατα ελλειπτικών καµπύλων... 199 5.5.1 Tο Kυπτογραφικό σύστηµα του Elgamal... 204 5.5.2 Tο κρυπτογραφικό σύστηµα των Menezes Vanstone... 205 Σύνοψη... 207 Bιβλιογραφία... 208 K º π 6 HÏÂÎÙÚÔÓÈÎ YappleÔÁÚ Ê Î È Ó ÚÙ ÛÂÈ K Ù ÎÂÚÌ ÙÈÛÌÔ Eισαγωγικές παρατηρήσεις... 209 6.1 Eισαγωγή στις ηλεκτρονικές υπογραφές... 211 6.2 Ψηφιακές υπογραφές βασισµένες στο πρόβληµα της παραγοντοποίησης... 215 6.2.1 Tο πρότυπο σχήµα ψηφιακών υπογραφών ISO/IEC 9796 2... 217 6.3 Ψηφιακές υπογραφές βασισµένες στο πρόβληµα υπολογισµού διακριτών λογάριθµων... 222 6.3.1 Tο σχήµα ψηφιακών υπογραφών του ElGamal... 222 6.3.2 To σχήµα ψηφιακών υπογραφών του DSA... 223 6.4 Ψηφιακές υπογραφές βασισµένες στις ελλειπτικές καµπύλες... 224 6.5 Eισαγωγή στις συναρτήσεις κατακερµατισµού... 226 6.6 H συνάρτηση κατακερµατισµού MD5... 228 6.7 O πρότυπος αλγόριθµος κατακερµατισµού SHA... 233 Σύνοψη... 237 Bιβλιογραφία... 238
10 KƒÀ ƒ ºπ K º π 7 È Â ÚÈÛË KÚ appleùôáú ÊÈÎÒÓ KÏÂÈ ÈÒÓ Eισαγωγικές παρατηρήσεις... 239 7.1 Eισαγωγή στη διαχείριση κρυπτογραφικών κλειδιών... 241 7.2 Mεταφορά κλειδιών βασισµένη σε συµµετρικούς αλγόριθµους... 243 7.3 Συµφωνία και µεταφορά κλειδιών βασισµένη σε ασύµετρους αλγόριθµους... 245 7.3.1 Aλγόριθµος (µηχανισµός) συµφωνίας µυστικού κλειδιού των Diffie Hellman... 246 7.3.2 Mηχανισµός µεταφοράς µυστικού κλειδιού βασισµένος στον RSA. 247 7.3.3 Aλγόριθµος µεταφοράς δηµόσιου κλειδιού µε τη βοήθεια αρχής πιστοποίησης... 247 Σύνοψη... 249 Bιβλιογραφία... 250 Aπαντήσεις Aσκήσεων Aυτοαξιολόγησης... 251 Απαντήσεις ραστηριοτήτων... 275 Γλωσσάρι όρων... 293